#pragma once
//cResourceManager: to load all model and texture, 
//to load/create/compile all shader in file ResourceManager.txt and point it into 
//different objects such as cModel, cTexture and cShader 
#include "Models.h"
#include "cTexture.h"
#include "cTexturesCube.h"
#include "Shaders.h"
class cResourceManager
{
protected:
static cResourceManager* m_instance;
	Models *m_models;
	cTexture *m_textures;	
	cTexturesCube *m_textureCube;
	Shaders *m_shaders;
	GLuint vboIds[2];
	int m_numModel, m_numTexture, m_numTextureCube, m_numShaders;
	cResourceManager(void);
	~cResourceManager(void);
public:
	int Init(const char *fileName);
	Models*		GetModel(int id);
	cTexture*	GetTexture(int id);
	cTexturesCube*	GetTextureCube(int id);
	Shaders*	GetShader(int id);
	static cResourceManager* GetInstance();
	void	destroy();

	
};
